#ifndef CLICK_RESERVER_HH
#define CLICK_RESERVER_HH

#include <click/element.hh>
#include <clicknet/ether.h>
#include <click/vector.cc>
#include <click/timer.hh>

#include "rsvpheader.hh"

CLICK_DECLS

class Reserver : public Element {

public:
	Reserver();
	~Reserver();
	
	const char *class_name() const { return "Reserver"; }
	const char *port_count() const { return "1/2"; }
	const char *processing() const { return PUSH; }
	
	int configure(Vector<String>& conf, ErrorHandler* errh);
	void push(int port, Packet* p);
	
	void run_timer(Timer*);
	
private:
	Timer timer;
};

CLICK_ENDDECLS
#endif
